package com.yyb.vo;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.yyb.domain.SysMenu;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * 
 * 
 */
@Data
@Schema(title = "SysMenuVO",description = "菜单查询的出参模型")
public class SysMenuVO {
    /**
     * 菜单ID
     */
    @Schema(title = "菜单ID")
    private Long menuId;

    /**
     * 菜单名称
     */
    @Schema(title = "菜单名称")
    private String menuName;

    /**
     * 父菜单ID
     */
    @Schema(title = "父菜单ID")
    private Long parentId;

    /**
     * 显示顺序
     */
    @Schema(title = "显示顺序")
    private Integer orderNum;

    /**
     * 路由地址
     */
    @Schema(title = "路由地址")
    private String path;

    /**
     * 组件路径
     */
    @Schema(title = "组件路径")
    private String component;

    /**
     * 菜单类型（0目录 1菜单 2按钮）
     */
    @Schema(title = "菜单类型（0目录 1菜单 2按钮）")
    private Integer menuType;

    /**
     * 菜单状态（0显示 1隐藏）
     */
    @Schema(title = "菜单状态（0显示 1隐藏）")
    private Integer visible;

    /**
     * 菜单状态（0正常 1停用）
     */
    @Schema(title = "菜单状态（0正常 1停用）")
    private Integer status;

    /**
     * 权限标识
     */
    @Schema(title = "权限标识")
    private String perms;

    /**
     * 菜单图标
     */
    @Schema(title = "菜单图标")
    private String icon;

    /**
     * 子菜单
     */
    @Schema(title = "子菜单")
    @JsonInclude(JsonInclude.Include.NON_EMPTY)//如果对象里面的数据为空。那么不参于序列化
    private List<SysMenuVO> children=new ArrayList<>();

}
